package com.ys.entity.hr;
import java.math.BigDecimal;
import java.util.Date;
import javax.persistence.Table;
import com.alibaba.fastjson.annotation.JSONField;
import com.ys.annotation.YsField;
import com.ys.entity.base.BaseEntity;
/**
*/
@Table(name="TB_ProvidentFund", catalog="Id")
public class TbProvidentFund extends BaseEntity<TbProvidentFund> {

	@YsField(nameDataBase="Id", nameJava="id", typeDataBase="bigint")
	private Long id;
	@YsField(nameDataBase="HousingPfBase", nameJava="housingPfBase", typeDataBase="decimal")
	private BigDecimal housingPfBase;
	@YsField(nameDataBase="PfRatioUnit", nameJava="pfRatioUnit", typeDataBase="decimal")
	private BigDecimal pfRatioUnit;
	@YsField(nameDataBase="PfUnitMonth", nameJava="pfUnitMonth", typeDataBase="decimal")
	private BigDecimal pfUnitMonth;
	@YsField(nameDataBase="PfRatioIndividual", nameJava="pfRatioIndividual", typeDataBase="decimal")
	private BigDecimal pfRatioIndividual;
	@YsField(nameDataBase="PfIndividualMonth", nameJava="pfIndividualMonth", typeDataBase="decimal")
	private BigDecimal pfIndividualMonth;
	@YsField(nameDataBase="Status", nameJava="status", typeDataBase="tinyint")
	private Integer status;
	@JSONField(format = "yyyy-MM-dd HH:mm:ss")
	@YsField(nameDataBase="CreateTime", nameJava="createTime", typeDataBase="datetime")
	private Date createTime;
	@JSONField(format = "yyyy-MM-dd HH:mm:ss")
	@YsField(nameDataBase="UpdateTime", nameJava="updateTime", typeDataBase="datetime")
	private Date updateTime;

	public Long getId() {
		return id;
	}
	public TbProvidentFund setId(Long id) {
		this.id = id;
		return this;
	}
	public BigDecimal getHousingPfBase() {
		return housingPfBase;
	}
	public TbProvidentFund setHousingPfBase(BigDecimal housingPfBase) {
		this.housingPfBase = housingPfBase;
		return this;
	}
	public BigDecimal getPfRatioUnit() {
		return pfRatioUnit;
	}
	public TbProvidentFund setPfRatioUnit(BigDecimal pfRatioUnit) {
		this.pfRatioUnit = pfRatioUnit;
		return this;
	}
	public BigDecimal getPfUnitMonth() {
		return pfUnitMonth;
	}
	public TbProvidentFund setPfUnitMonth(BigDecimal pfUnitMonth) {
		this.pfUnitMonth = pfUnitMonth;
		return this;
	}
	public BigDecimal getPfRatioIndividual() {
		return pfRatioIndividual;
	}
	public TbProvidentFund setPfRatioIndividual(BigDecimal pfRatioIndividual) {
		this.pfRatioIndividual = pfRatioIndividual;
		return this;
	}
	public BigDecimal getPfIndividualMonth() {
		return pfIndividualMonth;
	}
	public TbProvidentFund setPfIndividualMonth(BigDecimal pfIndividualMonth) {
		this.pfIndividualMonth = pfIndividualMonth;
		return this;
	}
	public Integer getStatus() {
		return status;
	}
	public TbProvidentFund setStatus(Integer status) {
		this.status = status;
		return this;
	}
	public Date getCreateTime() {
		return createTime;
	}
	public TbProvidentFund setCreateTime(Date createTime) {
		this.createTime = createTime;
		return this;
	}
	public Date getUpdateTime() {
		return updateTime;
	}
	public TbProvidentFund setUpdateTime(Date updateTime) {
		this.updateTime = updateTime;
		return this;
	}

	public static TbProvidentFund tbProvidentFund(
		BigDecimal housingPfBase,
		BigDecimal pfRatioUnit,
		BigDecimal pfUnitMonth,
		BigDecimal pfRatioIndividual,
		BigDecimal pfIndividualMonth,
		Integer status
			) {
		TbProvidentFund entity = new TbProvidentFund();
		entity.setHousingPfBase(housingPfBase);
		entity.setPfRatioUnit(pfRatioUnit);
		entity.setPfUnitMonth(pfUnitMonth);
		entity.setPfRatioIndividual(pfRatioIndividual);
		entity.setPfIndividualMonth(pfIndividualMonth);
		entity.setStatus(status);
		return entity;
	}
}